package com.itheima.dao;

import com.github.pagehelper.Page;
import com.itheima.pojo.Member;

import java.util.List;

/**
 * 会员表
 */
public interface MemberDao {


    /**
     * 查询所有的数据
     * @return
     */
    public List<Member> findAll();

    public Page<Member> selectByCondition(String queryString);

    /**
     * 添加会员
     * @param member 会员的基本信息
     */
    public void add(Member member);

    /**
     * 通过id删除用户
     * @param id 用户的id
     */
    public void deleteById(Integer id);

    /**
     * 通过id查询用户的所有的信息
     * @param id 用户的id
     * @return
     */
    public Member findById(Integer id);

    /**
     * 通过电话码号查询是不是会员，有就是会员
     * @param telephone 电话号码
     * @return
     */
    public Member findByTelephone(String telephone);

    /**
     * 修改会员信息
     * @param member
     */
    public void edit(Member member);

    /**
     * 指定日期之前的会员数
     * @param date 日期
     * @return
     */
    public Integer findMemberCountBeforeDate(String date);

    /**
     * 根据日期查询新增会员数
     * @param date 当天日期
     * @return 当天新增数量
     */
    public Integer findMemberCountByDate(String date);

    /**
     * 根据日期查询指定日期之后的会员数
     * @param date 本月的日期
     * @return 会员数量
     */
    public Integer findMemberCountAfterDate(String date);

    /**
     * 总会员数
     * @return
     */
    public Integer findMemberTotalCount();

    /**
     * 通过条件进行模糊查询
     * @param queryString 模糊查询的条件
     * @return
     */
    Page<Member> findByCondition(String queryString);


    /**\
     *通过会员id删除体检报告
     * @param id
     */
    void deleteByRelation(Integer id);

    /**
     * 获取用户预约数量
     * @param id
     * @return
     */
    Long getOrder(Integer id);
}
